#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int howMany(int dollar, vector<int> &cost)
{
    // 返回数组cost中小于等于dollar的元素个数
    int low  = 0;
    int high = cost.size()-1;
    int mid;

    while(low <= high)
    {
        mid = (low+high)/2;

        // 买得起所有饮品店
        if(mid >= high && cost[mid]<=dollar)
            return high+1;

        // 买不起任何饮品店
        else if(mid <= low && dollar<cost[mid])
            return 0;

        // 买得起一些饮品店
        else if(cost[mid]<=dollar && dollar<cost[mid+1])
            break;

        if(dollar < cost[mid])
            high = mid - 1;
        else
            low  = mid + 1;
    } 
    return mid+1;
}

int main(int argc, char const *argv[])
{
    short n, m;
    cin >> n >> m;

    vector<int> cost(n); // 饮品店花费
    int a[m];            // 身上带的钱

    // n家饮品店
    for(int i=0; i<n; i++)
        cin >> cost[i];

    // m次询问
    for(int i=0; i<m; i++)
        cin >> a[i];

    // 对n家饮品店花费进行排序
    sort(cost.begin(), cost.end());

    // 逐次回答有几家店饮料花费cost[i]<=身上带的钱a[i]
    for(int i=0; i<m; i++)
    {
        cout << howMany(a[i], cost) << endl;
        // howMany(a[i], cost);
    }

    return 0;
}
